1. Field of the Invention
The present invention relates to a solid-state imaging element for inputting optical image data and then converting this data into an electrical signal, and an image input device using this same solid-state imaging element.
2. Description of the Related Art
In an image input device such as a digital camera, as illustrated in FIG. 1, optical image data transmitted through a lens 2 are input to a CCD (Charge Coupled Device) 4, which is a solid-state imaging element. In the CCD 4, the input image data are converted to an electrical signal, that is, to analog image data. The analog image data are converted to digital image data by an A/D converter 6 and the digital image data are stored in a frame memory 8. The digital image data stored in the frame memory 8 are then supplied to an image data encoder 10 comprising, for example, a discrete cosine transform (DCT) converting unit 12, a quantizing unit 14, and a Huffman encoding unit 16, or the like, and the image data are compressed through the encoding process.
As illustrated in FIG. 2, CCD 4 comprises a horizontal CCD section 30 and a vertical CCD section 32. In the vertical CCD section 32, photosensors 34, such as photodiodes, are arranged such that the photosensors 34 correspond to the pixels of a frame image. Each photosensor 34 receives the images corresponding to one pixel and converts an optical beam into a voltage to generate analog image data.
The horizontal CCD section 30 includes line buffers for outputting the analog image data. The analog image data corresponding to one pixel generated in each photosensor 34, are shifted stage by stage in the vertical direction (from a to b) and are then input to the line buffer that holds the analog image data of one line. The line buffer holding the analog image data of one line, shifts the analog image data one-by-one in the horizontal direction (from c to d) and outputs the data to an external circuit of the CCD 4. The analog image data output from the CCD 4 are then input to an A/D converter 6. The analog image data are converted to digital image data by the A/D converter 6 and then transferred to the image data encoder 10 and compressed through the encoding process.
In the image data encoder 10, the image data are divided and processed in predetermined units (hereinafter, referred to as blocks). As illustrated in FIG. 3A, for example, in JPEG image encoding, the image data are encoded as an 8×8 array or block of pixels. In each block, the image data are often processed in a sequence from upper left to  lower right, as illustrated in FIG. 3B.
In FIG. 4, one block 52 comprises an 8×8 array of pixels (refer to FIG. 3A). As illustrated in FIG. 4, the image data of one frame 50 (the layout of the image data is identical to the layout in the vertical CCD 32) are divided into n blocks, and the encoding process is executed in the sequence 1, 2, . . . , n.
In the CCD 4, the image data of one frame 50 are output for each line as illustrated in FIG. 2. Meanwhile, in the image data encoder 10, which receives the data from the CCD 4 and then encodes the data, the encoding process is performed in predetermined units of a block as illustrated in FIG. 4. Therefore, the image data output from the CCD 4 must be rearranged to a layout suitable for the encoding process. Rearrangement may be conducted by the operations explained below.
(1) Operation using RAM:
In the first approach, as illustrated in FIG. 5, the image data output from the CCD 4 are written into RAM 70 and input to the image data encoder 10 via the RAM 70. When executing the encoding process in the image data encoder 10, address conversion is conducted and the data are read in the sequence required for the encoding process.
(2) Operation using line buffers:
In the second approach, as illustrated in FIG. 6A, the image data output from the CCD 4 are input to the image data encoder 10 via an 8-line buffer 90 (or a 16-line buffer in the case of a double buffer). As illustrated in FIG. 6B, the data of an 8-line CCD 4 are read into the line buffer 90. As illustrated in FIG. 6C, data are read in units of 8 pixels from the line buffer 90.
However, reading data using the rearrangement processes explained above has the following problems.
First, RAM is expensive and occupies a large area. Therefore, the number of RAMs used must be controlled. Often, only one RAM is used in common for various purposes. In this case, when a RAM is used for only one purpose, application to other purposes is prevented. Accordingly, access control for multiple applications is rather complicated. Moreover, when a single RAM is being used for other applications, image data cannot be read. Therefore, it is impossible to realize a high-speed encoding process for image data. In addition, address conversion is complicated.
Second, line buffers must be prepared for reading image data. Because a line buffer is used exclusively for one operation, it cannot be used in common with another operation.